#ifndef FS_SUPER_BLOCK_H
#define FS_SUPER_BLOCK_H

#include "stdint.h"
/* 
 * 本分区总扇区数, 总inode数, 起始lba地址
 * inode 数组的地址及大小
 * inode 位图地址及大小
 * 根目录的地址及大小
 * 空闲块位图及大小
 */
struct super_block {
    uint32_t magic;
    uint32_t sec_cnt;
    uint32_t inode_cnt;
    uint32_t part_lba_base;

    uint32_t block_bitmap_lba;
    uint32_t block_bitmap_sects;

    uint32_t inode_bitmap_lba;
    uint32_t inode_bitmap_sects;

    uint32_t inode_table_lba;
    uint32_t inode_table_sects;

    uint32_t data_start_lba;
    uint32_t root_inode_no; // 根目录inode
    uint32_t dir_entry_size;

    uint8_t pad[460];
} __attribute__((packed));

#endif // FS_SUPER_BLOCK_H